package com.dmw.service;

import com.dmw.entity.DmOrder;
import com.dmw.vo.orderVO.OrderInfoInVo;
import com.dmw.vo.orderVO.OrderInfoOutVo;
import com.dmw.vo.placeOrderVO.AddOrderVO;
import com.dmw.vo.placeOrderVO.OrderOfOrderNoVO;
import com.dmw.vo.placeOrderVO.OrderPaymentStateVO;

import java.util.List;
import java.util.Map;

/**
 * 订单表(DmOrder)表服务接口
 *
 * @author makejava
 * @since 2021-03-19 00:31:56
 */
public interface DmOrderService {

    /**
     * 根据订单号查询订单
     * from 下单页-确认支付页接口 1
     * @param map
     * @return list
     */
    List<OrderOfOrderNoVO> queryOrderByOrderNo(Map<String, Object> map) throws Exception;

    /**
     * 根据订单状态、订单创建时间、关键词(商品名称，订单号，商品编号模糊)
     * from 订单管理页面API 1
     * @param map
     * @return list
     */
    List<OrderInfoOutVo> queryOrderList(Map<String, Object> map) throws Exception;

    /**
     * 下单接口
     * from 下单页API 5
     * @param vo
     */
    String createOrder(AddOrderVO vo) throws Exception;

    /**
     * 监听订单支付状态接口
     * from 下单页API-确认支付页接口 3
     * @param orderNo
     */
    OrderPaymentStateVO queryOrderState(String orderNo) throws Exception;
}
